package main

import (
	"fmt"
	"sync"
)

func main() {
	var wg sync.WaitGroup  // 开箱即用，所以直接声明就好了，没必要用短变量声明
	// wg := sync.WaitGroup{}  // 短变量声明可以这么写
	count := 5

	for i := 0; i < count; i++ {
		wg.Add(1)
		go func(i int) {
			defer wg.Done()
			fmt.Println(i)
		}(i)
	}
	
	wg.Wait()
	fmt.Println("Over")
}